package abordagem.leitor_tranca_bd;

import java.util.concurrent.Semaphore;

import main.Principal;

/**
 * Classe LTBDDatabase: Banco da abordagem LTBD. Para mais informacoes sobre a abordagem RW: {@link Principal}
 * 
 * @author Andreia Rodrigues de Oliveira, Raphael Henrique Monteiro, Regis Hideki Hatori;
 * 
 */
public class LTBDDatabase implements LTBDLock {

	private Semaphore db;

	/**
	 * Construtor da classe LTBDDatabase
	 * 
	 */
	public LTBDDatabase() {
		
		db = new Semaphore(1);
	}

	
	@Override
	/**
	 * @see abordagem.leitor_tranca_bd.LTBDLock
	 */
	public void acquire() {
		
		try {
			
			db.acquire();
			
		} catch (InterruptedException e) {
			
			e.printStackTrace();
		}
		
	}

	@Override
	/**
	 * @see abordagem.leitor_tranca_bd.LTBDLock
	 * 
	 */
	public void release() {
		
		db.release();		
	}

}
